package com.java.base.exercise.jvm;

/**
 * @Author RenPu
 * @Date 2021/11/14 20:57
 * @Version 1.0
 * @Description: 模拟触发YGC的场景，并同时打印GC日志进行分析回收细节
 *
 *     -XX:NewSize=5242880           //新生代初始值
 *     -XX:MaxNewSize=5242880        //新生代最大值
 *     -XX:InitialHeapSize=10485760  //堆初始大小
 *     -XX:MaxHeapSize=10485760      //堆最大值
 *     -XX:SurvivorRatio=8           //Eden区比例的设置 8:1:1 Eden:survi1:survi2
 *     -XX:PretenureSizeThreshold=10485760   //
 *     -XX:+UseParNewGC              //新生代使用ParNew(并发垃圾回收器，使用复制算法)
 *     -XX:+UseConcMarkSweepGC       //老年代使用CMS(并发垃圾回收器,使用标记清除算法，空间压缩整理避免内存碎片化)
 *     -XX:+PrintGCDetails           //打印GC详细日志
 *     -XX:+PrintGCTimeStamps        //这个参数可以打印出来每次GC发生的时间
 *     -Xloggc:gc.log                //这个参数可以设置将gc日志写入一个磁盘文件
 **/
public class YGCDemo1 {

    public static void main(String[] args) {

        byte[] arry1 = new byte[1024 * 1024];
        arry1=new byte[1024 * 1024];
        arry1=new byte[1024 * 1024];
        arry1=null;

        byte[] arry2=new byte[2*1024 * 1024];

    }
}
